/***********************************************************************
    filename:   DaterReminding.h
    created:    15/4/2012
    author:     4Ys

    purpose:    Defines abstract base class for Reminding objects.
*************************************************************************/
#ifndef _DaterReminding_h_
#define _DaterReminding_h_

#include <string>

namespace Dater
{
	/*!
	\brief
		A class attached to the Event object represent the reminder of the event.
	*/
	class Reminding
	{
	public:
		/*!
		\brief
			Constructor for Reminding class
		*/
		Reminding(int remindTime, std::string remindUnit) :_remindTime(remindTime), _remindUnit(remindUnit){}

		/*!
		\brief
			Get the CalendarYear of the given year

		\param year
			The year of the Calendar.

		\return
			Pointer to the CalendarYear of the given year
		*/
		void setRemindUnit(std::string remindUnit){ _remindUnit = remindUnit;}
		
		/*!
		\brief
			Get the CalendarYear of the given year

		\param year
			The year of the Calendar.

		\return
			Pointer to the CalendarYear of the given year
		*/
		void setRemindTime(int remindTime){_remindTime = remindTime;}

		/*!
		\brief
			Get the CalendarYear of the given year

		\param year
			The year of the Calendar.

		\return
			Pointer to the CalendarYear of the given year
		*/
		std::string getRemindUnit(){return _remindUnit;}
		
		/*!
		\brief
			Get the CalendarYear of the given year

		\param year
			The year of the Calendar.

		\return
			Pointer to the CalendarYear of the given year
		*/
		int getRemindTime(){return _remindTime;}

	private:
		int _remindTime;
		std::string _remindUnit;
	};
}

#endif